package cn.edu.scau.liangshanhero.client;

import java.io.File;
import java.util.*;

import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

import cn.edu.scau.liangshanhero.actions.impl.Messages;
import cn.edu.scau.liangshanhero.localization.ChinezationUtil;

public class ChinezationTab {
	Map<String, String> propertiesValueWordSet = new HashMap<String, String>();//属性值以及中文的映射集合
	Vector<File> sourceFileVector = new Vector<File>(50, 10);
	List<File> propertiesFileList;// 存储扫描出的所有.properties文件

//	选中的项目路径。
	public void localization(String selectLocalizationProjectPath) {
		Display display = Display.getDefault();
		Shell shell = new Shell(display);
		shell.setText(Messages.PropertiesResourceLocalization_1);
		shell.setSize(600, 400);
		shell.setLayout(new FillLayout());
//		暂时使用现有的实验，
//		selectLocalizationProjectPath="E:/ProgramDeveloping/git/ema-20200203/ema";

		// (1)获取目录中所有的.properties文件
		propertiesFileList = ChinezationUtil.getSourcePropertiesFileList(new File(selectLocalizationProjectPath));
		// (2)所有的属性文件获取后，依次读取出所有的行，并将后面的单词放到一个集合中。
		Map<String, String> propertiesValueWordSet = ChinezationUtil.putAllPropertiesFileEnglishWord2Map(sourceFileVector, propertiesFileList,selectLocalizationProjectPath);
		// (3)保存所有的映射配置，并生成输出文件
		ChinezationUtil.createTargetPropertiesFiles(sourceFileVector, propertiesValueWordSet, selectLocalizationProjectPath, shell);

		while (!shell.isDisposed()) {
			if (!Display.getDefault().readAndDispatch()) {
				Display.getDefault().sleep();
			}
		}
		display.dispose();
	}

	

}
